package com.zjuh.goodboy.web.modules.action.crm;

import com.zjuh.goodboy.biz.ao.AdminAO;
import com.zjuh.goodboy.parsers.ItemExpr;
import com.zjuh.goodboy.web.common.base.BaseAction;
import com.zjuh.splist.core.annotation.DefaultTarget;
import com.zjuh.splist.core.form.Form;
import com.zjuh.splist.core.module.URLModule;
import com.zjuh.splist.web.RunData;
import com.zjuh.splist.web.TemplateContext;
import com.zjuh.sweet.result.Result;

public class ItemExprAction extends BaseAction {
	
	private AdminAO adminAO;
	
	@DefaultTarget("crm/itemExprDetail")
	public void doUpdate(RunData rundata, TemplateContext templateContext) {
		Form form = rundata.getForm("itemExpr.update");
		if (!form.validate()) {
			return;
		}
		ItemExpr itemExpr = new ItemExpr();
		form.apply(itemExpr);
		Result result = adminAO.updateItemExpr(itemExpr);
		if (result.isSuccess()) {
			URLModule um = this.getURLModule("crmModule", "itemExprDetail");
			um.add("id", itemExpr.getId());
			rundata.sendRedirect(um.render());
		} else {
			this.handleError(result, rundata, templateContext);
		}
	}
	
	@DefaultTarget("crm/createItemExpr")
	public void doCreate(RunData rundata, TemplateContext templateContext) {
		Form form = rundata.getForm("itemExpr.create");
		if (!form.validate()) {
			return;
		}
		ItemExpr itemExpr = new ItemExpr();
		form.apply(itemExpr);
		Result result = adminAO.createItemExpr(itemExpr);
		if (result.isSuccess()) {
			URLModule um = this.getURLModule("crmModule", "itemExprList");
			rundata.sendRedirect(um.render());
		} else {
			this.handleError(result, rundata, templateContext);
		}
	}
	
	public void setAdminAO(AdminAO adminAO) {
		this.adminAO = adminAO;
	}


}
